LW2000

 

Nombre:      Need for Speed 3

Víctima:       NFS3.EXE

Herramientas:       W32Dasm

                            HIEW

                   Cerebro

Cracker:                LW2000

Tutorial:                número 30

 

Renuncia: Este tutorial tiene una finalidad únicamente educativa. No asumo ninguna responsabilidad por el mal uso de éste material.

 

1.     Bien, instalamos el juego con la opción ‘Full Installation’ de Need For Speed 3. Intentamos jugar sin el CD. ¡Booom! Mensaje de error. Anotamos el texto y el título del a ventana.

2.     Desensamblamos el fichero ‘NFS3.EXE’ con W32Dasm. Hacemos click en el botón ‘String Data References’ y buscamos nuestro texto. ¿Ha encontrado el texto? Entonces busque el título del a ventana.

 

Possible StringData Ref from Data Obj ->"Need for Speed 3"

 

004B637A 683CFE5300          push 0053FE3C

004B637F 8B5485DC            mov edx, dword ptr [ebp+4*eax-24]

004B6383 52                  push edx

004B6384 6A00                push 00000000

 

Reference To: USER32.MessageBoxA, Ord:001Fh

 

004B6368 2EFF1564475300      call dword ptr cs:[00534764]

004B638D 31C0                xor eax, eax

004B638F E870990200          call 004DFD04

    

Reference by a (U)nconditional or (C)onditional Jump at Adress:

004B6362(C)

 

004B6394 E807FFFFFF          call 004B62A0

004B6399 85C0                test eax, eax

004B639B 755A                jne 004B63F7                                   

004B639D 31D2                xor edx, edx

004B639F EB19                jmp 004B63BA

 

Reference by a (U)nconditional or (C)onditional Jump at Adress:

004B63C3(C)

 

004B63A1 88D0                mov al, dl

004B63A3 0441                add al, 41

004B63A5 8845F4              mov byte ptr [ebp-0C], al

004B63A8 8D45F4              lea eax, dword ptr [ebp-0C]

04B63AB E8809F0300           call 004F0330     >Call ‘CD Check’

004B63B0 85C0                test eax, eax     >Comprobación

004B63B2 7543                jne 004B63F7      >¡Bad Boy! !!!

 

Reference by a (U)nconditional or (C)onditional Jump at Adress:       

004B63C5(U)

 

004B63B4 42                  inc edx

004B63B5 83FA1A              cmp edx, 0000001A

004B63B8 7D0D                jge 004B63C7

 

Reference by a (U)nconditional or (C)onditional Jump at Adress:

004B639F(U)

 

004B63BA 89DO                mov eax, edx

004B63BC E84F300400          call 004F9410

004B63C1 85C0                test eax, eax

004B63C3 75DC                jne 004B63A1

004B63C5 EBED                jmp 004B63B4

 

Reference by a (U)nconditional or (C)onditional Jump at Adress:

004B63B8(C)

 

004B63C7 B906000000          mov ecx, 00000006

004B63CC 8D7DC4              lea edi, dword ptr [ebp-3C]

004B63CF BEAC564B00          mov esi, 004B56AC

004B63D4 6A30                push 00000030

004B63D6 A1503A7A00          mov eax, dword ptr [007A3A50]

004B63DB F3                  repz

004B63DC A5                  movsd

 

Possible StringData Ref from Data Obj ->"Need for Speed 3"  

004B63DD 683CFE5300          push 0053FE3C

004B63E2 E84F300400          mov ecx, dword ptr [ebp+4*eax-3c]

004B63E6 85C0                push ecx

004B63E7 75DC                push 00000000

 

Reference To: USER32.MessageBoxA, Ord:001Fh

 

004B63E9 2EFF1564475300      call dword ptr cs:[00534764]

004B63F0 31C0                xor eax, eax

004B63F2 E80D990200          call 004DFD04     >Estupendo

 

Reference by a (U)nconditional or (C)onditional Jump at Adress:

004B639B(C), :004B63B2(C)                                                                    

 

004B63F7 89EC                mov esp, ebp      >Llegaremos aquí si

                                               >hemos introducido el

>CD

004B63F9 5D                  pop ebp

004B63FA 5F                  pop edi

004B63FB 5E                  pop esi

004B63FC 5A                   pop edx

004B63FD 59                  pop ecx

004B63FE 5B                  pop ebx

004B63FF C3                  ret

 

3.     Vamos a echar un vistazo a todos los saltos. ¡Hmmm! ‘004B63B2 7543 JNE’; vamos a cambiarlo a un salto incondicional (‘JMP’). Creo que eso no será ningún problema para usted.

4.     Abrimos el ejecutable con HIEW y cambiamos el ‘7543’ a ‘EB43’ (‘EB’ es el opcode de ‘JMP’9.

5.     El ‘CD Check’ ha sido derrotado pero, ¿qué es ésta basura?

 

Abort message:

openhandlea-OPEN FAILED ON D:\GameData\Audio\pc\show(x).map

(x es cualquier número)

 

6.     ¡No hay problema! Copiamos ésta carpeta a nuestra carpeta NFS3. Copiamos  todos los ficheros de la carpete del CD “GAMEDATA\AUDIO” a nuestra carpeta del disco duro local.

7.     Después abrimos el fichero ‘INSATLL.WIN’ (que se encuentra en el directorio de NFS3) y cambiamos las rutas de éste modo:

 

      .\GameData\

      .\GameData\Tracks\

      .\GameData\Tracks\Tutor\

      .\GameData\CarModel\

      .\GameData\Render\pc\

      .\GameData\DashHud\

      .\GameData\Audio\pc\

      .\GameData\Audio\SFX\

      .\GameData\Audio\Speech\English\

      .\GameData\Audio\Speech\German\

      .\GameData\Audio\Speech\French\

      .\GameData\Audio\Speech\Spanish\

      .\GameData\Audio\Speech\Italian\

      .\FeData\art\

      .\FeData\text\

      .\FeData\text\

      .\FeData\save\

      .\FeData\stats\

      .\FeData\config\

      .\FeData\audio\

      .\FeData\Art\Slides\

      .\FeData\Art\Track\

      .\FeData\Art\Showcase\

      .\FeData\movies\

      .\FeData\stats\prh\

        

8.     Guardamos nuestro trabajo y probamos a ejecutar Need For Speed sin el CD

 

¡Enhorabuena! ¡Lo ha conseguido!

 

¡Se acabó! Fácil, ¿no? ¿Algún comentario? Envíeme un email a LW2000@gmx.net. o vaya a http://www.LW2000.cjb.net

 

Gracias a tKC por sus tutoriales. Empecé leyendo su primer tutorial y todavía sigo leyéndolos.

 

Traducción de: MeGaBiTe